FROM openjdk:17-jdk-slim

# 维护者信息
LABEL maintainer="419097396@qq.com"

# 创建工作目录
WORKDIR /app

# 将 Maven Wrapper 文件复制到容器中
COPY mvnw ./
COPY .mvn ./.mvn
RUN chmod +x ./mvnw

# 确保文件格式正确
RUN sed -i 's/\r//' ./mvnw

# 查看文件是否正确复制到容器
RUN ls -l /app

# 将项目的 pom.xml 复制到容器中以便缓存依赖
COPY pom.xml ./

# 下载依赖
RUN ./mvnw dependency:go-offline -X

# 将源代码复制到容器中
COPY src ./src

# 编译并打包应用，跳过测试
RUN ./mvnw clean package -DskipTests

# 暴露容器的端口
EXPOSE 8080

CMD ["java", "-jar", "target/_111-0.0.1-SNAPSHOT.jar"]
